home *** CD-ROM | disk | FTP | other *** search
- ============
- VERSION 42.0
- ============
-
- Ixtrace has been updated to recognize all 42.0 syscalls, thanks to David
- Zaroski.
-
- Installed patch in arith.c to work around bug in IEEEDPCmp. If the first
- 32 bits of both doubles are equal, and both doubles are negative, then
- the result can no longer be trusted. Discovered by Bart Van Assche.
-
- Ctrl-C handling worked with KingCON, but not with the standard AmigaDOS
- CON-handler (since I use KingCON I never noticed this until it was pointed
- out to me by Fred Fish :-). This has now been fixed. See the comments in
- library/__read.c for more information.
-
- Added the uname() function, written by Lars Hecking.
-
- The termios code now properly recognizes the ICRNL input flag for '\r' to
- '\n' translation.
-
- Fixed a bug in the fcntl() function (actually, in the fcntl.h and
- sys/fcntl.h headers).
-
- Moved several static variables to user.h, so they are now process-specific.
-
- Added profiling support. It was always there, but it was never actually
- used.
-
- The write() function writes its buffer line-by-line instead of in one big
- chunk if the filehandle is the handle of an interactive stream (for
- example, a console window). This allows the user to interrupt the output by
- pressing a key and it also allows the use of Ctrl-C to break the program.
- In previous versions you were unable to stop the output if you forgot to
- redirect it to a file. E.g., 'cat /libs/ixemul.library' would essentially
- take over the computer.
-
- Changed default stack size handling when a new process is launched. It is
- either the value of the environment variable IXSTACK, or it inherits the
- size from its parent, but if that size is less than 16384, it uses a stack
- of 16384 bytes instead.
-
- Replaced ixconfig by ixprefs (written by Kriton Kyrimis).
-
- Integrated the partial ptrace support from Leonard Norrgard.
-
- Removed the gnulib, gnulib-68881 and gnulib-soft-float directories.
-
- Compiled with -Wall and fixed (nearly) all warnings. Some warnings are
- inevitable and cannot be avoided. -Wall already caught one illegal memory
- access bug in __Close()!
-
- Added functions to set and get ixemulbase-private information. This will
- break older ixconfig's but is much cleaner. Nearly all of the ixemulbase
- structure is now off-limits and liable to change without notice! You are
- warned! In fact, the structure has been changed already. The library will
- complain if a program called 'ixconfig' tries to use it to prevent the user
- from using an old ixconfig with the new library.
-
- Removed several arithmetic functions dealing with 'long long' types. They
- didn't belong in the library, link with libgcc.a instead. Also removed some
- arithmetic functions that are never called because they are compiled
- directly in 68000 assembly. Don't know why they were ever added.
-
- Fixed gen_glue.c so that it no longer generates glue for obsolete functions.
-
- Removed ssystem(). ssystem() was the precursor of vfork/execve, and is no
- longer needed. NOTE: it is still used in gcc. But this fails spectacularly
- once you use Ctrl-C! Delete gcc and replace it by gccv, this one uses
- vfork/execve as it should and works perfectly.
-
- ixemul.library now uses the new-style inlines.
-
- qsort() is now re-entrant and no longer uses the horrible Semaphore hack.
-
- Moved general/fts.c to the static library. These directory-tree traversal
- functions are rarely, if ever used, so they belong in libc.a and not in a
- shared library.
-
- Reorganized the Makefiles. The makefiles now use several GNU make-only
- features to make them smaller and easier to maintain. 'make clean' and
- 'make clobber' now work correctly. It is also no longer nessecary to add
- the -srcdir option to 'sh configure' in order to create valid Makefiles.
-
- The top level Makefile contains the line 'export CATENATE = 1'. If this
- line is present, the compilation speed is greatly improved by catenating
- several small C-sources together into one bigger C-source, and then the
- bigger one is compiled. By commenting this line each separate source is
- compiled. Note that besides improving compilation speed, the library also
- gets smaller as the compiler can now determine whether a call can be made
- relative or should remain absolute.
-
- Fixed a symlink-bug (ln -s /ram/t created a symlink to /am/t, removing the
- first character of the volumename).
-
- Moved ixtrace to the new utils directory, together with the small ixrun
- utility. ixrun can be used to run Amiga batch files from /bin/sh (just put
- ';!ixrun' at the second line (!) of the batch file). Also added manual
- page for ixrun.
-
- Cleaned up the static directory: removed xmalloc.c and alloca.c as they do
- not belong in the standard C library. Also replaced the ctime.c source by
- the version from elsie.nci.nih.gov, which is the official version used by
- NetBSD and Linux, among others. Finally, errlst.c and siglist.c now just
- include their counterparts in the general directory.
-
- The version information is placed in the version.in file in the
- top-level directory. The version.c and version.h sources are created from
- this file.
-
- The print_base_size.c and print_user.c sources have been replaced by
- create_header.c, which creates a header containing a few defines that are
- used by start.s and trap.s. These used to be hard-coded, but now they are
- generated, preventing future mistakes.
-
- Added the raise function. For some reason, raise.c was never compiled into
- the library. It is now.
-
- Removed ALL sources that were not needed for compilation.
-
- Added timezone handling. The timezone databases from elsie.nci.nih.gov are
- used and installed in etc:zoneinfo. The new ixtimezone utility should be
- added to the startup-sequence. This utility determines the correct offset
- for Greenwich Mean Time. Read the manual page (Yes! Documentation at last!)
- for more information.
-
- Merged the ixpipe-handler into the ixemul-distribution. It has been placed
- in the utils-directory.
-
- Added hack to allow ixemul to run AmigaDOS scripts without breaking them
- when run from the AmigaDOS shell. The problem is that the ".KEY" string
- must be at the first line of the script, while ixemul also looks for "#!"
- and ";!" in the first line. If a file starts with ".KEY", ixemul will now
- skip the first line, before checking for "#!" and ";!".
-
- ============
- VERSION 41.4
- ============
-
- Integrated patches from Hans Verkuil that fix CTRL-C handling, fix another
- signal bug, fix problem with "rm -f", prepare for proper timezone handling,
- and remove '@' hack in argument parsing.
-
- Applied patch from Kamil Iskra to avoid incompatibility between ixemul
- and the popular KingCON 1.3. This is KingCON's fault because it makes
- invalid assumptions about the nature of reply port contained in "dp_Port"
- of packets sent to it. Also applied patch (duplicated in Hans' patches)
- to crt0.c that fixes bug where the revision requester was not working
- properly if the current revision is 0.
-
- Applied patch from Rask Lambertsen (duplicated in Hans' patches) that makes
- ixemul.library open "CONSOLE:" instead of "*".
-
- Added implementation from Kriton Kyrimis for srand48, seed48, lcong48,
- lrand48, nrand48, mrand48, jrand48, drand48, and erand48.
-
- Added "#include <sys/types.h>" to <dirent.h> to be more compatible
- with most current systems that do this inclusion for you. This change
- should be backwards compatible with code that does the inclusion
- explicitly. Suggested by Lars Hecking.
-
- Changed prototype in <unistd.h> for getpgrp() to take a pid_t argument,
- which matches the implementation in library/getcrap.c. Suggested by
- Lars Hecking.
-
- Made change to <math-68881.h> in pow() so that if x<0 the code does
- log(-x) rather than log(x). Suggested by Thomas Radtke and implemented
- by Lars Hecking.
-
- Disable definitions of F_GETLK, F_SETLK, F_SETLKW, F_RDLCK, F_UNLCK, and
- F_WRLCK in <fcntl.h> since they are unimplemented and thus might have misled
- autoconfiguration schemes into thinking they were available. Also fix
- ixtrace.c so it will still compile without these defined. Suggested by
- Robert Ramiega.
-
- Integrated patch from joop van de wege (duplicated in Han's patches) for
- setting up fpu on 68060.
-
- ============
- VERSION 41.3
- ============
-
- Updated DBL_MIN and DBL_MAX in float.h to include one additional digit
- of precision. Enclose negative constants in parens to avoid unexpected
- conversion to subtraction via cpp macros.
-
- Applied patch from Hans Verkuil to fix serious bug in signal handling,
- to reset all signal handlers after an execve, except for those which are
- being ignored (SIG_IGN).
-
- Applied patch from joop van de wege to trap.s to set 68881 rounding mode
- back to truncation instead of "round to nearest", as required by the
- ANSI C standard which specifies truncation.
-
- Integrated ixtrace into source tree and arranged for it to be built and
- installed.
-
- ============
- VERSION 41.2
- ============
-
- Added "#include <sys/types.h>" to <sys/stat.h> to be more compatible
- with most current systems that do this inclusion for you. This change
- should be backwards compatible with code that does the inclusion
- explicitly.
-
- Changed version string to be style guide compliant. Also arranged that
- version.o gets linked in, since it has the $VER: string and is otherwise
- unreferenced by any ixemul.library code.
-
- Merged patches from Hans Verkuil to fix execve environment passing,
- always open the console for stderr if no other file handle is provided,
- move AmigaDOS style filename matching into glob(), and fix a small problem
- with "open(NULL,...) that caused enforcer hits.
-
- ============
- VERSION 41.1
- ============
-
- A 68040 version of the library with soft floating point is now built,
- since there are apparently systems that use the versions of the 68040
- without FPUs.
-
- Fixed crt0 files to use "jra _ENTRY" as first instruction rather than
- "jmp pc@(_ENTRY)" which was getting assembled by gas 2.5.2 as a 68020+
- instruction. Note "jmp pc@(_ENTRY:W)" seems to generate the 68000
- instruction but a bad jump offset. Added corresponding change to
- execve.c to recognize ixemul using executables with this change.
-
- Fixed cpu.h, machdep.c, trap.s to avoid pc relative assembly instruction
- that was getting compiled as 68020+ instruction and causing crashes on
- 68000 machines.
-
- Fixed numerous files that did "#include" of "DEFS.H" rather than "defs.h".
- This is an innocuous bug on the Amiga, which is case independent, but
- it kills cross compilations.
-
- ============
- VERSION 41.0
- ============
-
- No significant changes since the 40.6 beta release other than the
- mechanism (and macros) for building debug versions has been cleaned
- up and the version number has been bumped to 41.0.
-
- Did include the cat'able man pages back in the source tree, but no
- work has been done yet to track down the sources for the man pages
- and arrange for them to be properly integrated into the tree and
- have the cat'able versions generated from those sources.
-
- ============
- VERSION 40.6
- ============
-
- Many bugs have been fixed since the 40.4 release, including a serious
- one that was causing memory corruption and many enforcer or mungwall
- hits.
-
- Network support has been reintegrated into the library, however it is
- still mostly untested. In particular, many functions are only
- available for static linking from the libnet.a library. By the next
- release, it is expected that libnet.a will be incorporated in libc.a.
-
- Work is underway to merge the best features from at least two
- different strains of the ixemul library. Many more changes are
- expected by the 41.0 release.
-
- An environment variable called "IXSTACK" is now used to control the
- stack size of programs started by system(). If the current stack is
- smaller than the value in IXSTACK, the stack is raised to the value
- specified in IXSTACK. So IXSTACK is a minimum value.
-
- Automatic stack checking, with a requestor if the stack overflows, is
- available for executables compiled with a version of gcc that supports
- the -mstackcheck option. This also requires linking with new crt0 and
- libc.a.
-
- Automatic stack extension as necessary is available for executables
- compiled with a version of gcc that supports the -mstackextend option.
- This also requires linking with new crt0 and libc.a.
-